package com.yulan.Array;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * 448. 找到所有数组中消失的数字
 * 输入:
 * [4,3,2,7,8,2,3,1]
 *
 * 输出:
 * [5,6]
 */
public class LeetCode_448 {


    public List<Integer> findDisappearedNumbers(int[] nums) {
        List<Integer> ans = new ArrayList<>();
        for(int i = 0;i<nums.length;i++){
            int index = (nums[i]-1) % nums.length;//这个减一就很灵性
            nums[index] += nums.length;
        }
        for(int i = 0;i<nums.length;i++){
            if(nums[i]<=nums.length)
                ans.add(i+1);
        }
        return ans;
    }

    @Test
    public void test(){
        int[] arr = {1,1};
        System.out.println(findDisappearedNumbers(arr));
    }
}
